#pragma once


#include "PushFramework.h"

namespace PushFramework{

	class Protocol;

	typedef PUSHFRAMEWORK_API struct  ListenerOptions
	{
		const char* interfaceAddress;
		int listeningBackLog;
		bool isTcpNoDelay;
		bool synAttackPrevention;
		
		Protocol* pProtocol;

		unsigned int uReadBufferSize;
		unsigned int uSendBufferSize;

		unsigned int uIntermediateSendBufferSize;
		unsigned int uIntermediateReceiveBufferSize;

		ListenerOptions()
		{
			interfaceAddress = NULL;
			listeningBackLog = 100;
			isTcpNoDelay = true;
			synAttackPrevention = false;
			pProtocol = NULL;
			uReadBufferSize = 8192;
			uSendBufferSize = 8192;

			uIntermediateReceiveBufferSize = uReadBufferSize*2;
			uIntermediateSendBufferSize = uSendBufferSize*3;
		}
		~ListenerOptions()
		{
			//
		}



	}ListenerOptions;
}